package cn.edu.zut.cs.Servlet;
import cn.edu.zut.cs.Model.SC;
import cn.edu.zut.cs.Service.SCService;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
//        控制器Controller
//        控制器负责将视图view(html/css/jsp)与模型model一一对应起来。相当于一个模型分发器。所谓分发就是：
//        ①接收请求，并将该请求跳转（转发，重定向）到模型进行处理。
//        ②模型处理完毕后，再通过控制器，返回给视图中的请求处。
//        建议使用Servlet实现控制器。
@WebServlet(name = "SCServlet", urlPatterns = "/SCServlet")
public class SCServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//        System.out.println("post");
        doGet(request, response);

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取网页端发送过来的数据，然后创建一个新的对象，将该对象通过service调用insert方法，
// 再调用DAO，实现与底层数据库的操作
//       System.out.println("get");
        SC b = new SC();
        //通过请求对象获取用户输入的内容
        b.setSno(request.getParameter("sno"));
        b.setCno(request.getParameter("cno"));
        b.setGrade(Integer.parseInt(request.getParameter("grade")));
        System.out.println("object"+b.toString());

        SCService service = new SCService();
        System.out.println(service.toString());
        service.insertSC(b);
//将插入的数据再返回给客户端
        // 获取session
        HttpSession session = request.getSession(true);
        // 向session域中保存用户名
        session.setAttribute("sc",b);
//请求重定向，从Servlet1转变Servlet2,进行服务器的请求
        //这里的get在out文件中是部署在WEB_INF中，所以路径和index不太一样
        RequestDispatcher requestDispatcher=request.getRequestDispatcher("WEB-INF/get.jsp");
        requestDispatcher.forward(request,response);
    }
}
